package com.urguxxi.springdemo.mapper;

import com.urguxxi.springdemo.entity.Admin;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 用于操作数据库
 * Mapper注解表示声明一个映射的类
 */
@Mapper
public interface AdminMapper {
    /**
     * 查询全部。返回admin中的所有数据
     * 查询admin表中的所有数据的函数，其映射文件是AdminMapper.xml
     */
    List<Admin> findAll();

    /**
     * 增加数据
     * @param admin
     */
    void save(@Param("admin")Admin admin);

    /**
     * 更新数据
     */
    void update(@Param("admin")Admin admin);

    /**
     * 真删除
     */
    void deleteTrue(@Param("id")Integer id);

    /**
     * 软删除
     */
    void deleteFalse(@Param("id")Integer id);

    /**
     * 动态多参数查询
     */
//    void findByParam();

    /**
     * 单条查询
     */
    Admin findByPK(@Param("id")Integer id);

    /**
     * 通过用户名查询
     */
    Admin findByName(@Param("adminName")String adminName);
}
